import redis
import pymysql
import json

def main():
    #指定redis数据库的信息
    rediscli = redis.StrictRedis(host='localhost',port=6379,db=0)

    #指定MySQL的数据库信息
    db = pymysql.connect(host='localhost',user='root',password='',db='test',charset='utf8')
    # 创建游标对象
    cursor = db.cursor()
    while True:
        source,data = rediscli.blpop(['salve_travel:items'])
        print(source)
        try:
            #转换成 json格式
            item = json.loads(data)
            #组装sql语句
            dd = dict(item)
            keys = ','.join(dd.keys())
            values = ','.join(['%s']*len(dd))
            sql = 'insert into td_tourism(%s) values(%s)'%(keys,values)
            #指定参数，并执行sql添加
            cursor.execute(sql,tuple(dd.values()))
            #事务提交
            db.commit()
            print("写入信息成功：",dd['id'])
        except Exception as err:
            #事务回滚
            db.rollback()
            print("SQL执行错误，原因：",err)

if __name__ == '__main__':
    main()
